package by.amakarevich.dataaccess;

import java.util.List;

import javax.persistence.metamodel.SingularAttribute;

import by.amakarevich.datamodel.Booking;
import by.amakarevich.datamodel.UserAccount;

public interface BookingDao extends AbstractDao<Long, Booking> {
	
	List<Booking> getAllBookingByUser(UserAccount userAccount, boolean payStatus, boolean canceled);

    List<Booking> getSortedAllBooking(SingularAttribute<Booking, ?> attr, boolean ascending, int startRecord, int pageSize);
    
    void deleteBooking(Long id);
    
    Long getCount();
    
    Booking getByBookingId(Long bookingId);
}
